﻿using System;
using System.Collections.Generic;
using System.Threading.Tasks;
using AppSocketModel;
using BCGPSCommon;

namespace AppSocketService.AlarmHistory
{
    public interface IAlarmNotifyHistoryService
    {
        /// <summary>
        /// 保存
        /// </summary>
        /// <param name="dto"></param>
        /// <returns></returns>
        Task SaveAsync(AlarmNotifyHistoryDto dto);

        /// <summary>
        /// 获取报警记录
        /// </summary>
        /// <param name="start">开始时间</param>
        /// <param name="end">结束时间</param>
        /// <param name="account_id">账户Id</param> 
        /// <param name="imei">IMEI</param>
        /// <param name="alarm_type">报警类型</param>
        /// <param name="notify_type">报警通知类型</param> 
        /// <param name="is_confirm">是否已确认</param>
        /// <param name="is_delete">是否已删除</param>
        /// <param name="desc">倒序</param>
        /// <param name="index" >页码</param>
        /// <param name="size">记录数</param>
        /// <returns></returns>
        PageableList<AlarmNotifyHistoryDto> GetListCompany(DateTime ?start, DateTime ?end, string accountId, string imei, AlarmType? alarmType, AlarmNotifyType? notifyType, bool? isConfirm, bool isDelete,bool desc,int index,int size);
         
        /// <summary>
        /// 报警确认
        /// </summary>
        /// <param name="id"></param>
        void AlarmConfirm(string id);
        void AlarmConfirm(List<string> list);
    }
}